Những đặc tính chung GPRS Tunnelling Protocol

Tất cả các phiên bản của GTP đều có chung cấu trúc bản tin. Đó là phần header và cơ chế kết nối

Header

Header của GTPv1 bao gồm các trường:

+Bit 012345-78-1516-2324-31
0N-PDU Number FlagSequence Number FlagExtension Header FlagReservedProtocol typeVersionMessage TypeTotal length
32TEID
64Sequence numberN-PDU numberNext extension header type

Trong đó

VersionLà trường có độ dài 3 bit. Với GTPv1, trường này nhận giá trị bằng 1.Protocol Type (PT)Có độ dài là 1 bit, với GTP cơ bản, trường này có giá trị là 0. Các phiên bản còn lại, nó nhận giá trị bằng 1.ReservedTrường dự trữ, độ dài là 1 bit (giá trị phải bằng 0).Extension header flag(E)Biến trạng thái (độ dài 1 bit), thể hiện việc có hay không có phần header mở rộng.Sequence number flag(S)Biến trạng thái (độ dài 1 bit), thể hiện việc có hay không có trường Sequence Number.N-PDU number flag(PN)Biến trạng thái (độ dài 1 bit), thể hiện việc có hay không có trường N-PDU number.Message TypeCó độ dài 8 bits, biểu thị loại bản tin GTP.LengthCó độ dài 16 bits, thể hiện kích thước gói tin cần chuyển.Tunnel endpoint identifier (TEID)Kích thước 32 bits, được sử dụng để tổ hợp nhiều kết nói khác nhau vào một "đường hầm" GTP.Sequence numberTrường không bắt buộc, có độ dài 16 bits. Trường này tồn tại nếu một trong các biến E, S hoặc PN được thiết lập bằng 1. Trường này phải được biểu diễn nếu biến S được thiết lập bằng 1.N-PDU numberTrường không bắt buộc, kích thước 8 bits. Trường này tồn tại nếu một trong các biến E, S hoặc PN được thiết lập bằng 1. Trường này phải được biểu diễn nếu biến PN được thiết lập bằng 1.Next extension header typeTrường không bắt buộc, kích thước 8 bits. Trường này tồn tại nếu một trong các biến E, S hoặc PN được thiết lập bằng 1. Trường này phải được biểu diễn nếu biến E được thiết lập bằng 1.

Phần header mở rộng có cấu trúc như sau:

+Bits 0-78-2324-31
0Total lengthContents
......
...ContentsNext extension header
Total lengthĐộ dài 8 bit, thể hiện trạng việc phân bổ độ dài của phần header mở rộng, bao gồm độ dài, nội dung và trường header mở rộng tiếp theo (trong 4 đơn vị octet, tương đương 32 bit). Độ dài của phần header mở rộng phải là bội số của 4.ContentsChứa nội dung của phần header mở rộngNext extension headerĐộ dài 8 bit.Thể hiện loại mở rộng tiếp theo. Nó bằng 0 nếu không có phần mở rộng tiếp theo. Tham số mở này cho phép có nhiều trường header mở rộng.

Cơ chế kết nối

Cơ chế kết nối là đặc tính chung thứ hai trong cấu trúc bản tin. Đây là cơ chế kiểm tra sự liên kết từ một GSN tới một GSN khác. Có hai bản tin được sử dụng:

  • echo request: Yêu cầu báo hiệu lại - GSN nguồn gửi tới GSN đích để kiểm tra xem GSN đích có còn "sống" hay không.
  • echo response: Phản hồi báo hiệu lại - GNS đích gửi lại GSN nguồn để thông báo bản thân nó đang "sống".

Thông thường, cứ sau mỗi 60 giây, một GSN nguồn có thể gửi một bản tin echo request tới tất cả các GSN đích mà nó đang kết nối. Nếu GNS đích nào không phản hồi, GSN nguồn sẽ hiểu rằng đích đó đã "chết", và kết nối đến đích đó sẽ bị hủy bỏ.

Ngoài hai bản tin chung kể trên, các phiên bản GTP khác nhau không còn bản tin chung nào khác. Điều đó đồng nghĩa với việc, các phiên bản GTP khác nhau tạo nên các giao thức hoàn toàn phân biệt.